#ifndef _CAT_STATE_BASE_AVOID_OBSTACLE_H_
#define _CAT_STATE_BASE_AVOID_OBSTACLE_H_


class CatState;


class CatState_Base_Obstacle: public CatState
{
protected:
	bool	_hitObstacle,
			_isJumpingUp,
			_exitState;
	float 	_floorY,
			_stopTimer;

	bool	hasHitObstacle();
	bool 	hitObstacleDecision();
	bool	hitObstacleUpdate(float timeDiff);
	bool	avoidObstacleUpdate(float timeDiff);

	virtual void runOnEnter();
	virtual void onResume();
public:
	CatState_Base_Obstacle(BaseCat* pCatRef);
	virtual ~CatState_Base_Obstacle();


	virtual void update(float timeDiff);
	virtual void onExit();

};


#endif
